מפרט עסקי - שירות אישור תושב
רעיון השירות
שירות אישור תושב הוא מערכת שמאפשרת לאזרחים לקבל אישור רשמי על תושבותם ברשות מקומית. המערכת פועלת כגשר בין האזרח לבין מערכות המידע של הרשויות, ומאפשרת יצירת מסמך PDF רשמי עם פרטי התושבות.
מטרה עיקרית
השירות מאפשר לאזרחים לקבל:
- אישור תושב רשמי - מסמך PDF עם פרטי התושבות
- אימות תושבות - בדיקה שהאזרח אכן תושב ברשות המקומית
- מסמך רשמי - אישור תושב עם חתימה דיגיטלית של הרשות
- שמירת מסמכים - שמירה של האישורים שנוצרו
שירותים עיקריים
1. יצירת אישור תושב
השירות מאפשר יצירת אישור תושב רשמי עם:
- פרטי האזרח - שם מלא, מספר ת.ז., כתובת
- פרטי הרשות - שם הרשות, חתימה דיגיטלית
- תאריך יצירה - תאריך יצירת האישור
- תאריך תושבות - מתי החל להיות תושב
2. אימות תושבות
השירות מאפשר אימות שהאזרח אכן תושב ברשות:
- בדיקת כתובת - אימות שהכתובת שייכת לרשות
- בדיקת זמינות - בדיקה שהשירות זמין ברשות
- אימות נתונים - בדיקה שהנתונים תקינים
3. שמירת מסמכים
השירות שומר את המסמכים שנוצרו:
- שמירה מקומית - שמירה במערכת
- מזהה ייחודי - מזהה לכל מסמך
- גישה למסמכים - אפשרות לחזור למסמכים קיימים
4. רשימת אישורים
השירות מאפשר צפייה ברשימת האישורים:
- רשימת אישורים - כל האישורים שנוצרו
- חיפוש אישורים - חיפוש לפי פרטים
- פרטי אישור - מידע מפורט על כל אישור
מפרט טכני - שירות אישור תושב
מודולים ושירותים קיימים
1. ToshavutService (apps/toshavut/src/toshavut.service.ts)
תפקיד: עיבוד לוגיקה עסקית ויצירת PDF פונקציות עיקריות:
getResidentCertificate()- יצירת אישור תושב כ-PDFgetHello()- בדיקת תקינות השירות
2. ToshavutController (apps/toshavut/src/toshavut.controller.ts)
תפקיד: מטפל בבקשות HTTP ומחזיר תשובות Endpoints זמינים:
POST /api/v1/services/ishur-toshavut- יצירת אישור תושבPOST /api/v1/services/ishur-toshavut/list- רשימת אישוריםPOST /api/v1/services/ishur-toshavut/debug- יצירת אישור (debug)
3. IshurToshavutController (apps/api/src/muni-services/ishur-toshavut/ishur-toshavut.controller.ts)
תפקיד: מטפל בבקשות דרך ה-API הראשי Endpoints זמינים:
POST /api/v1/muni/services/ishur-toshavut- יצירת אישור תושב (Base64)POST /api/v1/muni/services/ishur-toshavut/pdf- יצירת אישור תושב (PDF)POST /api/v1/muni/services/ishur-toshavut/list- רשימת אישוריםPOST /api/v1/muni/services/ishur-toshavut/eligibility- בדיקת זכאות
4. IshurToshavutService (apps/api/src/muni-services/ishur-toshavut/ishur-toshavut.service.ts)
תפקיד: עיבוד לוגיקה עסקית וחיבור למערכות חיצוניות פונקציות עיקריות:
getPDF()- יצירת PDF אישור תושבgetCertificates()- קבלת רשימת אישוריםgetCertificateById()- קבלת אישור לפי מזההsendRequest()- שליחת בקשה למערכת חיצונית
5. PdfGenerator (apps/toshavut/src/PdfGenerator.ts)
תפקיד: יצירת PDF מ-HTML פונקציות עיקריות:
generatePdfFromHtml()- המרת HTML ל-PDF
6. PdfStorageService (apps/toshavut/src/pdf-storage/pdf-storage.service.ts)
תפקיד: שמירת מסמכי PDF פונקציות עיקריות:
savePdf()- שמירת PDFgetPdf()- קבלת PDFdeletePdf()- מחיקת PDF
מבני נתונים (JSON)
בקשה ליצירת אישור (IshurToshavutReqDTO)
{
"name": "יוסי כהן",
"tzNum": "123456789",
"semel_yeshuv": "001",
"fromDate": "2024-01-01"
}
בקשה לבדיקת זכאות (IshurToshavutEligibilityReqDTO)
{
"name": "יוסי כהן",
"tzNum": "123456789",
"semel_yeshuv": "001"
}
בקשה לרשימת אישורים (CertificatesReqDto)
{
"tzNum": "123456789",
"semel_moeza": "001"
}
תשובה - אישור תושב (IshurToshavutB64)
{
"pdf_b64": "JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDMgMCBSCi9SZXNvdXJjZXMgPDwKL0ZvbnQgPDwKL0YxIDIgMCBSCj4+Cj4+Ci9NZWRpYUJveCBbMCAwIDU5NSA4NDJdCi9Db250ZW50cyA0IDAgUgo+PgplbmRvYmoK..."
}
בקשה פנימית (residentCertificateReq)
{
"municipalityID": "001",
"municipalityName": "תל אביב",
"name": "יוסי כהן",
"tzNum": "123456789",
"town": "תל אביב",
"fromDate": "2024-01-01"
}
בקשה פנימית (proc_IshurToshavutReqDTO)
{
"municipalityID": "001",
"municipalityName": "תל אביב",
"name": "יוסי כהן",
"tzNum": "123456789",
"town": "תל אביב",
"fromDate": "2024-01-01"
}
חיבורים למערכות חיצוניות
איך החיבור עובד?
- אימות רשות - בדיקה שהרשות קיימת ופעילה
- בדיקת זמינות - בדיקה שהשירות זמין ברשות
- יצירת PDF - יצירת מסמך PDF עם פרטי האזרח
- שמירת מסמך - שמירה במערכת
- החזרת תשובה - החזרת PDF או Base64
תלויות חיצוניות
- MunicipalitiesService - לניהול רשויות
- PdfStorageService - לשמירת מסמכים
- RbacGuard - לאימות משתמשים
- OAuth2Guard - לאימות OAuth2
משאבים חיצוניים
- תבנית HTML -
apps/toshavut/resources/base.html - תמונות רקע -
apps/toshavut/resources/{municipalityID}/bg.jpg - חתימות -
apps/toshavut/resources/{municipalityID}/sign.png
Issues / Missing parts
בעיות קוד קיימות
1. חיבורים חסרים
- חיבור לביטוח לאומי - לא מיושם
- חיבור לספקים נוספים - רק ספק אחד קיים
- ממשקי OneCity - לא מיושמים
2. שגיאות בקוד
- חיבור חסר -
apps/api/src/muni-services/ishur-toshavut/ishur-toshavut.controller.tsשורה 33-34 - פונקציה לא מושלמת -
eligibility()לא מחזירה תשובה
חלקים שחסרים
1. ממשקי OneCity
- ממשק GET - לא קיים
- ממשק POST - לא קיים
2. חיבור לביטוח לאומי
- ייבוא נתונים - לא מיושם
- עיבוד נתוני זכאות - לא קיים
3. אפליקציית ניהול
- תיקונים סמנטיים - לא מושלמים
- ממשק ניהול - לא קיים
4. בדיקות איכות
- בדיקות יחידה - לא מושלמות
- בדיקות אינטגרציה - לא קיימות
5. תיעוד API
- Swagger מלא - לא קיים
- תיעוד מפורט - לא קיים
6. ממשק משתמש
- ממשק משתמש - לא קיים
- דפי ניהול - לא קיימים
7. פונקציונליות חסרה
- עדכון אישורים - לא קיים
- מחיקת אישורים - לא קיים
- חיפוש מתקדם - לא קיים
המלצות לתיקון
1. תיקון מיידי
- תיקון חיבור חסר - השלמת הקוד החסר
- הוספת בדיקות שגיאות - טיפול במקרים של כשל
- שיפור תיעוד API - הוספת Swagger מפורט
2. פיתוח עתידי
- יישום ממשקי OneCity - לפי המפרט
- השלמת אפליקציית ניהול - עד השבוע הבא
- הוספת בדיקות איכות - לפני העברה לייצור
- פיתוח ממשק משתמש - לניהול אישורי תושב
- הוספת פונקציונליות - עדכון, מחיקה, חיפוש מתקדם